home *** CD-ROM | disk | FTP | other *** search
/ Ultimedia 2 / Ultimedia 2.iso / tools / soundtools / quadracomp / qcmanual2.0.txt < prev    next >
Text File  |  1993-10-07  |  45KB  |  1,261 lines

  1.  
  2.                             QuadraComposer 2.0
  3.  
  4.                  Copyright © 1993 Technological ArtWork
  5.                       (Bo Lincoln & Calle Englund)
  6.  
  7.  
  8.                           U S E R   M A N U A L
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. DISTRIBUTION:
  20.     You are hereby given permission to distribute the
  21.     QC20.LhA archive (or the same decrunched), as long as it is 
  22.     redistributed in its original unmodified form. You may NOT take any fee 
  23.     for the program itself, only the costs for the media itself.
  24.  
  25.     Files included in this package:
  26.     * QuadraComposer2.0                      --- The program
  27.     * QCManual2.0.TXT                        --- This file
  28.     * InstallQC2.0                           --- The Installer script
  29.     * InstallQC2.0.cli                       --- A script for AmigaDOS
  30.     * QCReplay.s                             --- An ASM source
  31.     * QCFastReplay.s                         --- An ASM source
  32.     * QC.font sizes 6 & 8                    --- The font
  33.     + icons
  34.  
  35. SHAREWARE:
  36.     QuadraComposer is SHAREWARE, and if you use it you should pay the
  37.     shareware fee of US$ 20 (or the equal amount is SEK) (The fee
  38.     should be cashable in OUR local banks, so a $20-bill is the most
  39.     practical payment...). Please support us.
  40.  
  41. COPYRIGHTS:
  42.     QuadraComposer is Copyright © 1993 Technological Artwork (Bosse Lincoln
  43.     & Calle Englund).
  44.     QC makes use of reqtools.library for the requesters.
  45.     ReqTools is Copyright © Nico François.
  46.     Amiga is a registered trademark of Commodore-Amiga Inc.
  47.  
  48. THE AUTHORS:
  49.     * Bo Lincoln *
  50.  
  51.     SnailMail:  Bo Lincoln
  52.                 Ryttargatan 70
  53.                 S-731 52 KÖPING
  54.                 SWEDEN
  55.  
  56.     * Calle Englund *
  57.     Email:      c92caren@und.ida.liu.se
  58.  
  59.  
  60.  
  61.                             C O N T E N T S:
  62.  
  63.  
  64. 1 OPERATION OF QUADRA COMPOSER
  65.      1.0 SPECIAL GADGETS
  66.           1.0.1 UP / DOWN GADGET
  67.           1.0.2 CYCLE GADGET
  68.           1.0.3 LITTLE RED DOTS
  69.      1.1 WINDOWS
  70.           1.1.1 MENU WINDOW
  71.           1.1.2 MAIN NOTE WINDOW
  72.           1.1.3 SAMPLE WINDOW
  73.           1.1.4 SAMPLE EDIT WINDOW
  74.           1.1.5 DISK OPERATION WINDOW
  75.           1.1.6 MIXER WINDOW
  76.           1.1.7 TEXT WINDOW
  77.           1.1.8 NOTE EDIT WINDOW
  78.           1.1.9 SPECTRUM ANALYSER WINDOW
  79.           1.1.10 QUADRASCOPE WINDOW
  80.           1.1.11 PREFERENCES WINDOW
  81.      1.2 KEYBOARD COMMANDS
  82.  
  83. 2 HOW TO MAKE MUSIC WITH QUADRA COMPOSER
  84.      2.0 BASICS
  85.           2.0.1 NOTES
  86.           2.0.2 SAMPLE NUMBER
  87.           2.0.3 PATTERNS & POSITIONS
  88.      2.1 EFFECT COMMANDS
  89.           2.1.1 ARPEGGIO
  90.           2.1.2 PITCH SLIDE, UP
  91.           2.1.3 PITCH SLIDE, DOWN
  92.           2.1.4 TONE PORTAMENTO
  93.           2.1.5 VIBRATO
  94.           2.1.6 VOLUME SLIDE + SUSTAINED TONE PORTAMENTO
  95.           2.1.7 VOLUME SLIDE + SUSTAINED VIBRATO
  96.           2.1.8 TREMOLO
  97.           2.1.9 NOT USED (Why does it have a chapter?)
  98.           2.1.10 SET SAMPLE OFFSET
  99.           2.1.11 VOLUME SLIDE
  100.           2.1.12 POSITION JUMP
  101.           2.1.13 SET VOLUME
  102.           2.1.14 PATTERN BREAK
  103.           2.1.15 EXTENDED (E-) COMMANDS (see 2.1.17)
  104.           2.1.16 SET SPEED / TEMPO
  105.           2.1.17 EXTENDED COMMANDS
  106.                2.1.17.1 SET FILTER
  107.                2.1.17.2 FINE PITCHSLIDE, UP
  108.                2.1.17.2 FINE PITCHSLIDE, DOWN
  109.                2.1.17.2 SET GLISSANDO
  110.                2.1.17.2 SET VIBRATO WAVEFORM
  111.                2.1.17.2 SET FINETUNE VALUE
  112.                2.1.17.2 PATTERN LOOP
  113.                2.1.17.2 SET TREMOLO WAVEFORM
  114.                2.1.17.2 NOT USED
  115.                2.1.17.2 RETRIG NOTE
  116.                2.1.17.2 FINE VOLUMESLIDE, UP
  117.                2.1.17.2 FINE VOLUMESLIDE, DOWN
  118.                2.1.17.2 NOTECUT
  119.                2.1.17.2 NOTE DELAY
  120.                2.1.17.2 NOT USED
  121.                2.1.17.2 PATTERN DELAY
  122.           2.1.18 EFFECTS THAT DIFFER FROM THE NT-FORMAT
  123.  
  124. APPENDIX A  IFF EMOD FILE FORMAT
  125.  
  126.  
  127. 1 OPERATION OF QUADRA COMPOSER
  128. ==============================
  129. This chapter describes how to use Quadra Composer.
  130. First, some strange words will be explained.
  131.  
  132. Hexadecimal: All numbers, EXCEPT for percent numbers, are in 
  133. hexadecimal. Hexadecimal?, you ask. Calm down, it will be explained. 
  134. Our normal number system has the base 10; The first place has the 
  135. value 1, the second 10, the third 100, and so on. E.g:
  136.  
  137.            236
  138.      2*100///
  139.      3*10_//
  140.      6*1__/
  141.      = dec 236
  142.  
  143.      In hexadecimal, the base is dec 16:
  144.  
  145.            3A4
  146.      2*256///
  147.      10*16//    <--- Those numbers showed in decimal.
  148.      4*1__/
  149.      = dec 676
  150.  
  151. But then there must be 16 numbers!? Right, but since we only 
  152. have our normal 10, you use A, B, C, D, E and F as 10, 11, 12, 13, 14 
  153. and 15. If you want to type dec (decimal, base 10) 11 in hex, it will 
  154. be B. Simple. The reason of using this strange (?) system is that it 
  155. takes less space; With just two digits you can write numbers up to hex FF 
  156. (dec 255), not only up to dec 99.
  157.  
  158. RMB: Short for Right Mouse Button.
  159. LMB: Short for Left Mouse Button.
  160.  
  161.  
  162. 1.0 SPECIAL GADGET TYPES
  163. ========================
  164. These are the special gadgets used in Quadra Composer...
  165.  
  166. 1.0.1 UP/DOWN GADGET
  167. ====================
  168.     +--+
  169.     | /|
  170.     |/ |
  171.     +--+
  172.  
  173. Pressing the LMB over the up/down-wards pointing triangle will
  174. in/de-crease the value in the recessed box beside. If the RMB is
  175. pressed simultaneously, the rate of change will increase.
  176. All values are displayed in hexadecimal, except for the percentage values
  177. (otherwise it would be a bit confusing).
  178.  
  179. 1.0.2 CYCLE GADGET
  180. ==================
  181.     +---+
  182.     |/->|
  183.     ||  |
  184.     |\-/|
  185.     +---+
  186.  
  187. Cycles through multiple choices then clicked on with LMB. Pressing shift
  188. while clicking will make the cycle go backwards.
  189.  
  190.  
  191. 1.0.3 LITTLE RED DOTS
  192. =====================
  193. If a gadget has a little red dot in its upper right corner, then
  194. there is an option window attached to it. Clicking RMB brings it up.
  195.  
  196.  
  197. 1.1 WINDOWS
  198. ===========
  199. Quadra Composer 2.0 is built up using Intuition windows. Each part of the
  200. program has its own window.
  201.  
  202.  
  203. 1.1.1 MENU WINDOW
  204. =================
  205. This is the only window that must be open all the time. From this you can
  206. open the other windows. In this window are also the module control gadgets.
  207.  
  208.      +--+--+
  209.      | 1| 2|
  210.      +--+--+
  211.      | 3| 4|
  212.      +--+--+
  213.      | 5| 6|
  214.      +--+--+
  215.      | 7| 8|
  216.      +--+--+
  217.      | 9|10|
  218.      +--+--+
  219.      +--+--+
  220.      |11|12|
  221.      +--+--+
  222.      |13|14|
  223.      +--+--+
  224.      |15|16|
  225.      +--+--+
  226.  
  227.   1) Opens the main note window.
  228.   2) Opens the sample window.
  229.   3) Opens the disk operation window.
  230.   4) Opens the mixer window.
  231.   5) Opens the text display window.
  232.   6) Opens the note edit window.
  233.   7) Opens the spectrum analyzer window.
  234.   8) Opens the scope window.
  235.   9) Opens the preferences window.
  236.  10) Displays the About requester.
  237.  
  238.  11) Plays the module from the current position.
  239.  12) Plays the current pattern.
  240.  13) Starts recording.
  241.  14) Starts recording the current pattern.
  242.  15) Stops the music, turns the sound off and turns edit off.
  243.  16) Turns edit on.
  244.  
  245. When you press the CLOSE gadget in the upper left corner, the whole program
  246. will be ended.
  247.  
  248.  
  249. 1.1.2 MAIN NOTE WINDOW
  250. ======================
  251. This is the main window of Quadra Composer. It displays the current
  252. pattern, and it contains most gadgets for note editing.
  253.  
  254.      +------------------------------------------------+
  255.      |          On      On   1    On       On         |
  256.      +-----+------------------------------------+-----+
  257.      |   3 |                                    |  12 |
  258.      |   4 |                                    |  13 |
  259.      |   5 |                                    |  14 |
  260.      |   6 |                                    |  15 |
  261.      |   7 |                                    |  16 |
  262.      |   8 |                 2                  |  17 |
  263.      |   9 |                                    |  18 |
  264.      |  10 |                                    |  19 |
  265.      |     |                                    |  20 |
  266.      |     |                                    |  21 |
  267.      |  11 |                                    |     |
  268.      +-----+------------------------------------+-----+
  269.  
  270.   1) The window dragbar. It displays four On/Off's, which informs you about
  271.      the voice status.
  272.  
  273.   2) The pattern display. This is the place where you edit the patterns, by
  274.      using the keyboard. To edit the notes you must be in edit mode (press
  275.      [space]). When you go into edit mode the cursor turns red (unshaded). To
  276.      move around in the pattern, use the arrowkeys (NOT on the numeric
  277.      keyboard). You can mark notes by dragging the mouse.
  278.  
  279.   3) Pos. (Position) gadget. Use this to cycle trough the positions.
  280.  
  281.   4) Patt. (Pattern) gadget. This is the pattern attached to the current
  282.      position. You can change this to "mix" the patterns together to a song.
  283.      But, it's better to use the mixer (see mixer window) instead to put your
  284.      song together.
  285.  
  286.   5) C.patt. (Current Pattern) gadget. This gadget is used for changing the
  287.      current displayed pattern, i.e NOT the pattern attached to a position.
  288.  
  289.   6) Pattl. (Pattern Length) gadget. Use this gadget to change the length
  290.      of the current pattern. The length may vary from 1 to 256 lines, but the
  291.      value displayed is the number of the last line (number of lines - 1).
  292.  
  293.   7) Sample gadget. This gadget is actually duplicated, it can also be
  294.      found in the sample edit window. Use this gadget to change the current
  295.      sample number. You can use up to 255 samples (number zero cannot be used).
  296.  
  297.   8) Tempo gadget. This gadget sets the BPM (beats per minute) rate. The
  298.      tempo may vary from 32 to 255 (hex 20 to FF) BPM. Normally this rate is
  299.      set to 125 (hex 7D).
  300.  
  301.   9) Timing gadget. Toggles between CIA (CI) and vertical blank (VB)
  302.      timing. Normally you should use the CIA timing, because you can only
  303.      change tempo in this mode. The vertical blank timing is mostly used by 
  304.      demo coders, who don't want to waste the level 6 irq on music. If you
  305.      use the vertical blank timing in the USA the speed go up 20% (because
  306.      of NTSC).
  307.  
  308.  10) Songl (Song Length) gadget. Decides how many positions will be used.
  309.  
  310.  11) Cut & Paste gadgets. Use these to cut, copy, paste and clear the
  311.      marked block of the pattern.
  312.  
  313.  12) E.skip (Edit Skip) gadget. Sets the number of rows to jump down after
  314.      typing a note.
  315.  
  316.  13) Quant. (Quantisizing) gadget. Quantisizing lets you set if your notes
  317.      will be on every two rows, every three rows, and so on. Very useful if
  318.      you're recording e.g a drumbeat in realtime.
  319.  
  320.  14) Multi gadget. If you turn this on, the cursor will skip to another
  321.      track after typing a note.
  322.  
  323.  15-18) Multi 1-4 gadgets. Multi 1 sets where the cursor will skip after
  324.      typing a note in track 1, and so on.
  325.  
  326.  19) A.echo (Auto Echo) gadget. This sets whether the funny little effect
  327.      called Auto Echo will be on or off. Auto Echo makes a kind of echo after
  328.      each note typed, based on the default volume of the sample. 
  329.  
  330.  20) Ae.spec (Auto Echo Space) gadget. Sets the space between the echoes.
  331.  
  332.  21) Ae.cut (Auto Echo Cut) gadget. This is the percentage of volume cut
  333.      off the volume for each echo. When the volume reaches 4 or lower, the
  334.      echo stops.
  335.  
  336.  
  337. 1.1.3 SAMPLE WINDOW
  338. ===================
  339. Well, this is actually the biggest part of Quadra Composer (in bytes), so
  340. we hope that it will be useful. You don't actually have to use Quadra
  341. Composer as a music program, you can use it only as a sample edit program.
  342. The sample editor supports 16 bit editing, but you can still not load and
  343. save 16 bit sounds (sorry :-(). If you own a sample synth, and would like to 
  344. use Quadra Composer to edit the samples, please send us a reference for the
  345. sample and disk format, and we'll try to implement some 16 bit load and
  346. save functions.
  347.  
  348.      +-------------------------------+
  349.      |                               |
  350.      |                               |
  351.      |              1                |
  352.      |                               |
  353.      |                               |
  354.      |                               |
  355.      +-------------------------------+
  356.      |  2      7       13       18   |
  357.      |  3      8       14       19   |
  358.      |  4      9       15       20   |
  359.      |  5     10       16       21   |
  360.      |        11       17       22   |
  361.      |  6     12                23   |
  362.      +-------------------------------+
  363.  
  364.   1) The sample display. This is where the current sample, or a part of it,
  365.      is shown. You can mark the sample or a part of it by dragging the mouse.
  366.  
  367.   2) Period gadget. Sets the standard period, used by the "Play" gadgets,
  368.      and some effects.
  369.  
  370.   3) Volume gadget. Sets the standard volume of the current sample.
  371.  
  372.   4) F.tune (Finetune) gadget. Sets the finetune value of the current
  373.      sample.
  374.  
  375.   5) Loop gadget. Turns the loop of the current sample on / off.
  376.  
  377.   6) Cut & Paste gadgets. Cuts / copies / pastes / deletes the marked range
  378.      in the sample.
  379.  
  380.   7) Length gadget. Lengthens / shortens the sample.
  381.  
  382.   8) Play All gadget. Plays the whole sample.
  383.  
  384.   9) Play Display gadget. Plays the current display (most often the same
  385.      as the whole sample).
  386.  
  387.  10) Play Range gadget. Plays the range (if present).
  388.  
  389.  11) Show All gadget. Shows the whole sample.
  390.  
  391.  12) Show Range gadget. Zooms in so that only the present range will be
  392.      displayed.
  393.  
  394.  13) Sample gadget. This gadget can also be found in the main note window.
  395.      It changes the current sample number.
  396.  
  397.  14) Range All gadget. Sets the range to the whole sample.
  398.  
  399.  15) Zoom Out gadget. Shows 1/16 more of the sample (if possible).
  400.  
  401.  16) Copy Sample + Info gadget. Displays the copy sample window. If you
  402.      press copy in that window, the current sample + name + vol etc. will be
  403.      copied to the desired destination.
  404.  
  405.  17) Clear Sample + Info gadget. Clears the whole sample + name + vol etc.
  406.  
  407.  18) Backw. (Backwards) gadget. Reverses the sample or the range.
  408.  
  409.  19) Inverse gadget. Turns the sample up & down.
  410.  
  411.  20) Tone gadget. Plays a tone. This is used when tuning your sample. 
  412.      In the attached option window you can set the period and the voice of
  413.      the tone.
  414.   
  415.  21) Sample gadget. When pressing this gadget the computer will be frozen,
  416.      a window opened, and the sampler data will be heard in your speakers. In
  417.      the window the data will be displayed, so that you can adjust the input
  418.      volume. If you press RMB, the sample operation will be canceled. Otherwise
  419.      the program will start sampling as you press LMB, and continue until you
  420.      press LMB again, or until the sample is 128 kB (hex 1FFFE bytes) long.
  421.      In the option window you can turn Autostart on / off, set Autostart 
  422.      Sensibility, and turn Oversample on / off. Autostart will cause the
  423.      sampling operation to start immediately when a sound is heard (loud
  424.      enough). Oversample samples faster than the actual sample period, to get
  425.      rid of noise from the sampler.
  426.  
  427.  22) Edit gadget. Converts the current sample to 16 bit, and opens the
  428.      sample edit window. All disk operation is disabled. If you want to listen
  429.      to the sample the processor will be used to play it (since the Amiga can
  430.      only play 8 bit samples), which will cause the computer to freeze until 
  431.      you either press a mousebutton, or 'til the whole sound is played. 
  432.  
  433. 1.1.4 SAMPLE EDIT WINDOW
  434. ========================
  435. This is the window which contains all the fun parts of sample editing,
  436. the effects...
  437.  
  438.      +-----+-----+
  439.      |  1  |  9  |
  440.      |  2  | 10  |
  441.      |  3  |     |
  442.      |  4  | 11  |
  443.      |  5  | 12  |
  444.      |  6  | 13  |
  445.      |  7  | 14  |
  446.      |  8  | 15  |
  447.      +-----+-----+
  448.  
  449.   1) Tune gadget. Use this function to tune samples so that they fit
  450.      together. First, turn on the 'Tunetone'. Second, find the matching
  451.      period and finetune (by listening), and set the values in the Period 
  452.      and F.Tune gadgets. Third, if you want, you can set the desired Tune To
  453.      period in the Tuning Options window. Fourth, press the 'Tune' button.
  454.  
  455.   2) Volume gadget. Used to change the volume of the sample. 
  456.      In the window which appears, you can find the following gadgets:
  457.      The Startvolume is the start value, and it will slide over to Endvolume. 
  458.      Maximum is a function which scans the sample to find out how much the 
  459.      volume can be raised without cutoff. Norm sets the sliders to 100%. 
  460.      Out sets the Startvolume to 100%, and the Endvolume to 0%, to create a 
  461.      fade out. Guess what In is...
  462.      If range is present, the volumechange will only affect it.
  463.  
  464.   3) Mix gadget. This function will mix the current sample with the copy buffer 
  465.      (it doesn't matter if the copy buffer is 16 or 8 bit). The Startmix 
  466.      decides how much the mixed sample will be affected by the sample
  467.      and how much it will be affected by the copy buffer. E.g: If Startmix
  468.      is set to 75%, the current sample will have 75% of the volume, and the 
  469.      copy buffer 25%. Just like the Startvolume the Startmix will slide over 
  470.      to the Endmix.
  471.      If present, it will only affect the range.
  472.  
  473.   4) Oct. Up (Octave Up) gadget. Doubles the sample frequency.
  474.  
  475.   5) Oct. Down (Octave Down) gadget. Halves the sample frequency.
  476.  
  477.   6) Echo gadget. Creates an echo in the sample. Echo rate decides how fast 
  478.      the echo will return. Decay rate decides how fast the echo will vanish. 
  479.      If you turn on Re-Echo, each echo will return more than once. Echo 
  480.      and Reverb are presets, just like In and Out in the volume window.
  481.      If present, the range will be used as echo.
  482.      If you set the sample cursor while the echo window is open, the Echo
  483.      Rate will be adjusted so that the first echo will be on the sample cursor
  484.      position.
  485.  
  486.   7) Flange gadget. This function creates a "swirl" effect in the sample.
  487.      In the flange window you can set the depth and the frequency of the 
  488.      flange.
  489.  
  490.   8) OK gadget. Converts the 16 bit edit buffer to 8 bit, and replaces the
  491.      old 8 bit sample. Then it closes the edit windows.
  492.  
  493.   9) Chord gadget. This is a kind of Tune and Mix macro, which creates a 
  494.      chord. You can mix up to four notes to a chord. Major, Minor, Major
  495.      Sept., Sus2, Sus4 and Minor Sept. are presets, which builds a chord based 
  496.      on the first note.
  497.  
  498.  10) Synth gadget. This is a rather BIG function, which makes sounds by
  499.      adding sinewaves (additive synthesizer). In the window which appears you can
  500.      find the following gadgets:
  501.  
  502.      a) Cut Off Envelope. Lets you draw a freehand filter curve.
  503.      b) Volume Envelope. Lets you draw a freehand volume curve.
  504.      c) Pitch Envelope. Lets you draw a freehand pitch curve. Every pixel
  505.         is a half-tone, and the red lines represent "C".
  506.  
  507.      In all of the windows above, you can find something called LFO (Low
  508.      Frequency Oscillation). These adjust the envelopes by pulling 'em up and
  509.      down.  
  510.  
  511.      d) Resonance gadget. Lets you draw a freehand resonance curve. What
  512.         you actually do is to change the volumes of the different frequencies.     
  513.  
  514.      e) Phase gadget. Lets you draw a freehand phase distortion curve. The
  515.         curve is a kind of translation table for angles. E.g if it is a normal
  516.         corner to corner straight line, 10° will be 10° when the sound is made.
  517.         If you draw the line from the left-bottom corner to the middle of the 
  518.         right edge, 10° will actually be 5°.
  519.  
  520.      The length of the sample will be decided by the Length gadget. The
  521.      length must be at least 256 (hex 100) bytes.
  522.  
  523.  11) Delta 1 Filter gadget. This is a relatively "soft" filter. Use it for 
  524.      "cutting the edge" of those "sharp" samples. Doesn't affect noise.
  525.      If present, only the range will be affected.
  526.  
  527.  12) Delta 2 Filter gadget. Displays a window with a Cut Frequency slider.
  528.      If you try to filter a low frequency, the sample will sound a bit
  529.      strange, because the filter also cuts all the multiples of the cut
  530.      frequency.
  531.      The Range gadget will set the the Cut Frequency so that a wave with
  532.      the same length as the range will be cut.
  533.      If the range is set while filtering, only the range will be affected.
  534.  
  535.  13) Boost 1 "Filter" gadget. Can make relatively "sharp" sound even worse...
  536.  
  537.  14) Boost 2 "Filter" gadget. This filter can actually "anti filter" samples,
  538.      i.e make the sound clearer. If you use it more, it makes the samples 
  539.      really "sharp".
  540.  
  541.  15) Cancel gadget. Forgets the 16 bit sample, and goes back to the old 8
  542.      bit sample.
  543.  
  544.  
  545. 1.1.5 DISK OPERATION WINDOW
  546. ===========================
  547. This is the menu which contains all the disk operation functions (load, save).
  548.  
  549.      +------+
  550.      |   1  |
  551.      |   2  |
  552.      |      |
  553.      |   3  |
  554.      |   4  |
  555.      |   5  |
  556.      |      |
  557.      |   6  |
  558.      |   7  |
  559.      |      |
  560.      |   8  |
  561.      |   9  |
  562.      |      |
  563.      |  10  |
  564.      |  11  |
  565.      |  12  |
  566.      |  13  |
  567.      |  14  |
  568.      +------+
  569.     
  570.   1) Load Module gadget. Displays a file requester, in which you should
  571.      pick the desired module. If you load a new module, the old one will be
  572.      lost. Quadra Composer 2.0 supports IFF EMOD and Noisetracker modules.
  573.  
  574.   2) Save Module gadget. Displays a requester asking which module format
  575.      you want to use. Default, and the best, choise is "IFF EMOD", which is an
  576.      extension of the other choice, "Noisetracker".
  577.  
  578.   3) Load Pattern From Module gadget. Lets you pick an IFF EMOD. The
  579.      patterns of the module will be displayed in a window. To load a pattern on
  580.      top of the current pattern (the length will be adjusted), just double
  581.      click on it.
  582.      In the option window, you can turn Load Samples on / off. Load Sample mean
  583.      that all the samples in the loaded pattern will be added to the module,
  584.      unless you don't already have a sample with the same name. This option
  585.      goes for Load Track From Module too.
  586.      A little tip: You can build up "clip" modules with e.g drumtracks, which
  587.      you later can include in your music.
  588.  
  589.   4) Load Track From Module gadget. See above.
  590.  
  591.   5) Load Sample From Module gadget. See above.
  592.  
  593.   6) Load Sample gadget. Loads a sample, IFF 8SVX or raw.
  594.  
  595.   7) Save Sample gadget. Lets you pick a file format, IFF 8SVX or raw, in
  596.      which the sample will be saved.
  597.  
  598.   8) Load Settings gadget. Loads your previously saved settings from the file
  599.      "s:QuadraComposer.prefs".
  600.  
  601.   9) Save Settings gadget. Saves your settings.
  602.  
  603.  10) Use Sample List gadget. Displays the sample list window. A sample list is
  604.      just a list in which names and paths of samples are. This is very useful
  605.      if you have loaded all your sample disks to the list. You can then easily
  606.      find THAT sample you're looking for. Another advantage is that you don't
  607.      have to wait for the computer to read the directory every time.
  608.      To load a sample from the list, just double click on it. If the disk
  609.      is not in your drives, the computer will ask for it as usual.
  610.  
  611.  11) Load Sample List gadget. Loads your previously saved sample list file
  612.      (s:QuadraComposer.samplelist). The sample list file is actually an ASCII
  613.      text, which you can edit from any text editor.
  614.  
  615.  12) Temporary Sample List gadget. Asks for a directory, which will be read
  616.      and used as a temporary sample list. This is used if you want to load 
  617.      more than one sample from a disk which is not in your sample list.
  618.  
  619.  13) Add Sample To List gadget. Displays a multiselect file requester, from
  620.      which you can choose one, or by pressing shift, more, samples to the
  621.      current sample list.
  622.  
  623.  14) Save Sample List gadget. Saves the current sample list to the file
  624.      s:QuadraComposer.samplelist.
  625.  
  626. 1.1.6 MIXER WINDOW
  627. ==================
  628. This window is used to mix your patterns together to a song.
  629.  
  630.      +-----------------------+-----+
  631.      |                       |     |
  632.      |                       |     |
  633.      |                       |     |
  634.      |                       |     |
  635.      |           1           |  2  |
  636.      |                       |     |
  637.      |                       |     |
  638.      |                       |     |
  639.      +-----------------------+-----+
  640.      | 3 4                   |     |
  641.      +-----------------------+-----+
  642.  
  643.   1) Pattern list display. Here are the 256 patterns plus numbers
  644.      listed. If you click on a pattern, it will be marked, and if you drag it,
  645.      you can insert the patternnumber in the position list.
  646.  
  647.   2) Position list display. Here are the <songlength> positions listed. Just
  648.      like the pattern list, you can mark positions, and move them around by
  649.      dragging with the mouse.
  650.  
  651.   3) Paste gadget. Inserts the marked pattern number in the position list,
  652.      at the marked position.
  653.  
  654.   4) Clear gadget. Deletes the marked position.
  655.  
  656.  
  657. 1.1.7 TEXT WINDOW
  658. =================
  659. This is just a tiny text window.
  660.  
  661.      +-------------------+
  662.      |         1         |
  663.      |         2         |
  664.      |         3         |
  665.      |         4         |
  666.      |         5         |
  667.      +-------------------+
  668.  
  669.   1) Song name gadget.
  670.   2) Copyright / composer name gadget.
  671.   3) Current sample name gadget.
  672.   4) Current pattern name gadget.
  673.   5) Status line.
  674.  
  675. 1.1.8 NOTE EDIT WINDOW
  676. ======================
  677. Here are some note and track editing functions.
  678.  
  679.      +-------------------+
  680.      |    1         3    |
  681.      |    2         4    |
  682.      |                   |
  683.      +-------------------+
  684.      |                   |
  685.      |         5         |
  686.      |                   |
  687.      |                   |
  688.      +-------------------+
  689.  
  690.   1) Expand Track gadget. This function doubles the space between notes in
  691.      the current track, starting from the current line.
  692.  
  693.   2) Swap Tracks gadget. Swaps the active track with another.
  694.  
  695.   3) Clear Track gadget. Clears the current track from the current line.
  696.  
  697.   4) Exg (Exchange) Sample In Track gadget. Replaces the current sample
  698.      number in the track with a new one.
  699.  
  700.   5) Transposing gadgets. These gadgets lets you transpose notes up or
  701.      down. Active sample means that only notes with the active sample number
  702.      will be affected.
  703.  
  704.  
  705. 1.1.9 SPECTRUM ANALYZER WINDOW
  706. ==============================
  707. This is a little window showing a spectrum analysis of the sounds being
  708. played. It works remarkably well, although it doesn't use FFT. If you size
  709. the window to maximum size, the spectrum analyser will change, and get
  710. bigger (and slower).
  711. When the analyser is small, each line represents 1/4 of an octave.
  712. Otherwise the each line represents 1 note.
  713.  
  714.  
  715. 1.1.10 QUADRASCOPE WINDOW
  716. =========================
  717. This is also a way of showing the samples being played. If the window is
  718. small, four "scopes" are being displayed, one for each voice. Otherwise
  719. only one, including all voices is displayed.
  720.  
  721.  
  722. 1.1.11 PREFERENCES WINDOW
  723. =========================
  724.  
  725.      +------------------------+
  726.      |   1            3       |
  727.      |   2            4       |
  728.      |                        |
  729.      |   5                    |
  730.      |                        |
  731.      | 6    7    8            |
  732.      +------------------------+
  733.  
  734.   1) Screen Mode gadget. Lets you pick a screen mode, minimum 640x256
  735.      pixels.
  736.  
  737.   2) Palette gadget. Lets you adjust the palette.
  738.  
  739.   3) Big Scope Accuracy slider. Sets how many pixels should be displayed
  740.      per voice in the big scope.
  741.  
  742.   4) Big Spectrum Accuracy. Sets how many frequencies the analyser should
  743.      try to find.
  744.  
  745.   5) Hex - Dec gadgets. This is a translator from hexadecimal to decimal
  746.      and decimal to hexadecimal. Just type the number in the gadget and press
  747.      <enter>.
  748.  
  749.   6) Fake Chipmem gadget. If this is on, Quadra Composer will try to use
  750.      the internal fast memory expansion on A500's as chipmem. This will not
  751.      work if you don't have ECS.
  752.  
  753.   7) RMB Activate gadget. If this is on, you'll be able to activate windows
  754.      with the right mouse button.
  755.  
  756.   8) Fast Graphics gadget. Fast graphics means that the window graphics is 
  757.      drawn by internal _fast_ functions in Quadra Composer. If it's off
  758.      graphics.library will be used. Note: If you have a graphics card, like
  759.      Merlin, Picasso, Retina etc. you _must_ turn this function off!
  760.  
  761. 1.2 KEYBOARD COMMANDS
  762. =====================
  763. Many of these commands can also be found in the menus, using Amiga standard
  764. (amiga + key).
  765. The main keyboard is used for entering notes.
  766. (Am. layout)
  767.      2 3   6 7 8   9
  768.     Q W R T Y U I O P       Higher octave
  769.     \___/
  770.         \_________ The same notes
  771.                   \___
  772.                   /   \
  773.      S D   G H J   L ;
  774.     Z X C V B N M , . /     Lower octave
  775.  
  776. The default lower octave is 2.
  777.  
  778. MISC KEYBOARD COMMANDS.
  779. =======================
  780. RIGHT SHIFT     Record song.
  781. RIGHT ALT       Play song.
  782. RIGHT AMIGA     Play pattern.
  783. <               Turn off all samples. (Not available on some Am.
  784.                                        keyboards.)
  785. SPACE           Toggle editing on/off.
  786. RETURN          Insert blank row in track.
  787. A-RETURN        Insert blank row in pattern (all tracks).
  788. C-RETURN        Insert blank row in track (effect cmd only).
  789. BACKSPACE       Delete previous row and move rest of the track upwards.
  790. A-BACKSP.                          -"-                   pattern  -"-
  791. C-BACKSP.       As BACKSPACE but only effect command.
  792. DELETE          Delete note/effect of the current track, row.
  793. S-DELETE        Delete note+effect        -"-
  794. TAB             Move cursor to next track (right).
  795. S-TAB                 -"-      prev  -"-   left
  796. F1              Set lower octave to "1"
  797. F2              Set lower octave to "2"
  798. F3              Cut block to buffer.
  799. S-F3            Cut entire track (notes only).
  800. A-F3            Cut entire pattern (notes only).
  801. F4              As F3, but Copy instead.
  802. F5              Paste buffer.
  803. S-F5            Paste from top of track (notes only).
  804. A-F5            Paste from "top left corner" of track (notes only).
  805. F6-F10          Move to "bookmark", default are 00/10/20/30/40
  806. S-(F6-F10)      Set "bookmark".
  807. A-(F6-F10)      Play pattern from "bookmark".
  808. C-(F6-F10)      Record        -"-
  809. S-(1-9)         Store current effectcommand in effectbuffer 1-9.
  810. A-(1-9)         Paste effectbuffer 1-9 into current cursorpos.
  811. C-(1-9)         Set editskip to 1-9. Ie the number of rows the editor
  812.                 jumps after a note is struck.
  813. A-(Z,X,C,V)     Toggle voice 1-4 on/off
  814. A-MINUS (Main keyboard, Am. layout)
  815.                 Copy previous effect command and decrease its
  816.                 argument.
  817. A-PLUS (Main keyboard, Am. layout)
  818.                 Copy prev. fx cmd and increase its arg.
  819. A-\             Copy prev. fx cmd.
  820.  
  821. C-A             Toggle current voice on/off.
  822. C-C             Copy block.
  823. C-D             Clear block.
  824. C-E             Expand track.
  825. C-F             Toggle filter on/off.
  826. C-G             Toggle AutoEcho on/off.
  827. C-I             Paste buffer.
  828. C-K             Clear to end of track.
  829. C-M             Toggle MultiMode on/off
  830. C-P             Paste buffer.
  831. C-Q             Turn all voices on.
  832. C-R             Restore "bookmarks".
  833. C-T             Swap tracks.
  834. C-V             Paste buffer.
  835. C-X             Cut block.
  836.  
  837. ARROW KEY OPERATION
  838. ===================
  839. UP              Move cursor up.
  840. DOWN            Move cursor down
  841. LEFT            Move cursor left.
  842. RIGHT           Move cursor right.
  843. S-UP            Move cursor up 8 rows.
  844. S-DOWN          Move cursor down 8 rows.
  845. S-LEFT          Decrease position.
  846. S-RIGHT         Increase position.
  847. C-LEFT          Decrease sample number.
  848. C-RIGHT         Increase sample number.
  849. A-LEFT          Decrease current pattern number.
  850. A-RIGHT         Increase current pattern number.
  851.  
  852. NUMERIC KEYPAD (Not available on A600. ;-(
  853. ==========================================
  854.  
  855. +-+-+-+-+
  856. |1|2|3|4|
  857. +-+-+-+-+
  858. |5|6|7|8|
  859. +-+-+-+-+
  860. |9|A|B|C|
  861. +-+-+-+-+
  862. |D|E|F|0|
  863. +-+-+-+ |
  864. |   | | |
  865. +---+-+-+
  866.  ^   ^
  867.  |   \_ Increase sample number by HEX 10.
  868.  \_____ Decrease         -"-
  869.  
  870.  
  871.  
  872. 2 HOW TO MAKE MUSIC USING QUADRA COMPOSER
  873. =========================================
  874. This is a chapter which describes how to make music. Those of you who
  875. have used NoiseTracker, or a clone, can skip this chapter, since Quadra
  876. Composer works the same way.
  877.  
  878. 2.0 BASICS
  879. ==========
  880. Quadra Composer works with four voices (limited by the Amiga), which
  881. are represented by the four tracks you can see in the main note window.
  882. These four tracks of a certain length form a pattern. Up to 256 patterns
  883. can form a song, and finally, a song plus all samples form a module.
  884.  
  885. 2.0.1 NOTES
  886. ===========
  887. The first space in every line of a track is reserved for the note.
  888.  
  889.      C#101000
  890.      \_/
  891.        \__ The note.
  892.  
  893. The note range is from C-1 (lowest) to B 3 (highest). Each time the track
  894. finds a note when playing, it will play the sample connected to it, using
  895. the note frequency. But, it's not like a synthesizier, since the sample will
  896. not stop when you release the key. In keeps playing until the entire sample
  897. is played, or until you play another sample in the sample voice. If you
  898. want to cut a sample before it's completely played, you'll have to use the
  899. volume effect command (see chapter 2.1).
  900.  
  901. 2.0.2 SAMPLE NUMBER
  902. ===================
  903. To each note there must be a sample number, so that Quadra Composer will
  904. know what sound to play.
  905.  
  906.      C#101000
  907.         \/
  908.          \__ The sample number.
  909.  
  910. The sample number will automatically be written when typing a note.
  911.  
  912. Using this little knowledge you can make your first modules. If you want to
  913. make the more advanced, check out the next chapter.
  914.  
  915. 2.0.3 PATTERNS & POSITIONS
  916. ==========================
  917. When you've made some patterns, you can mix 'em together to a song, either
  918. by using the Pos. and Patt. gadgets, or by using the mixer.
  919.  
  920. 2.1 EFFECT COMMANDS
  921. ===================
  922. The effect command is the last three (3) digits of each line of a
  923. track.
  924.  
  925. | C 101xyz |
  926.   ^^^^^^^^
  927.   \_/\/\_/____ Effect command
  928.     \ \_______ Sample number
  929.      \________ Note.
  930.  
  931. 2.1.1 Command 0yz: ARPEGGIO
  932. =========================
  933. Arpeggio is a rapid pitch change. The pitch changes between the
  934. played note and the notes Y resp. Z halftones higher.
  935.  
  936.  
  937. 2.1.2 Command 1yz: PITCH SLIDE, UP
  938. ================================
  939. Slides the pitch up YZ halftones. The resulting pitch cannot be
  940. higher than the highest possible pitch (B 3).
  941.  
  942.  
  943. 2.1.3 Command 2yz: PITCH SLIDE, DOWN
  944. ==================================
  945. Slides the pitch down YZ halftones. The resulting pitch cannot be
  946. lower than the lowest possible pitch (C 1).
  947.  
  948.  
  949. 2.1.4 Command 3yz: TONE PORTAMENTO
  950. ================================
  951. Slides the pitch up/down to played the note at YZ halftones per
  952. frame. The effect must be reactivated on each row. If YZ=00 then the
  953. last YZ will be used.
  954.  
  955. | C 101000 |
  956. | C 201302 |
  957. |    00300 |
  958. |    00300 |
  959. | ...      |
  960.  
  961. When the desired pitch is reached, the effect will not do anything.
  962.  
  963.  
  964. 2.1.5 Command 4yz: VIBRATO
  965. ========================
  966. Makes a vibrato effect on the sample played. The command must be
  967. reactivated on each row. Y is the speed of the vibrato and Z is the
  968. depth. If an argument is "0" then the previous value used will be
  969. used.
  970.  
  971. | C 101445 |        +-------------------------------------+
  972. |    00406 |     <--| Makes the vibrato deeper and deeper |
  973. |    00407 |        +-------------------------------------+
  974. |    00408 |
  975. |    00409 |
  976.  
  977.  
  978. 2.1.6 Command 5yz: VOLUME SLIDE + SUSTAINED TONE PORTAMENTO
  979. =========================================================
  980. Adds a volume slide to a tone portamento. The portamento must be
  981. initialized with the [3yz] effect before this effect can be used. The
  982. Y argument represents the volume increase rate and Z the decrease.
  983.  
  984. | C 101000 |        +--------------------------------------+
  985. | C 201305 |     <--| Continues the portamento and slides  |
  986. |    00501 |        | the volume down                      |
  987. |    00501 |        +--------------------------------------+
  988. |...       |
  989.  
  990.  
  991. 2.1.7 Command 6yz: VOLUME SLIDE + SUSTAINED VIBRATO
  992. =================================================
  993. Similar to command [5yz], see above. The vibrato should be
  994. initialized before using this command.
  995.  
  996.  
  997. 2.1.8 Command 7yz: TREMOLO
  998. ========================
  999. Creates a volume vibrato. The speed is set with the argument Y and
  1000. the depth with Z. If an argument is "0" then the last value for that
  1001. argument is used.
  1002.  
  1003. 2.1.9 Command 8yz: NOT USED
  1004. =========================
  1005.  
  1006. 2.1.10 Command 9yz: SET SAMPLE OFFSET
  1007. ===================================
  1008. Used only when a note is played, to skip a bit into the sample. The
  1009. argument YZ is multiplied with hex 200 and that many bytes of the
  1010. sample are skipped.
  1011.  
  1012. | C 101923 |     <--| Skips hex 23 * 200 = 4600 bytes |
  1013.  
  1014. NOTE: This differs from the NT-format, where the offset was hex
  1015. YZ*100.
  1016.  
  1017. 2.1.11 Command Ayz: VOLUME SLIDE
  1018. ==============================
  1019. Slides the volume up at the speed set by Y or down at the speed set
  1020. by Z. The effect must be reactivated on each row.
  1021.  
  1022. | C 207A20 |        +-----------------------+
  1023. |    00A20 |     <--| Slides the volume up. |
  1024. | ...      |        +-----------------------+
  1025.  
  1026. 2.1.12 Command Byz: POSITION JUMP
  1027. ===============================
  1028. Skips the rest of the current pattern (It's a good idea to pull the
  1029. length down to save some bytes of memory...) and jumps to position
  1030. hex YZ.
  1031.  
  1032. NOTE: This differs from the NT-format, where the argument to this
  1033. effect was given as a decimal number.
  1034.  
  1035.  
  1036. 2.1.13 Command Cyz: SET VOLUME
  1037. ============================
  1038. Set the volume for a channel. The argument YZ sets the new volume.
  1039. The volume must be between hex 0 and 40.
  1040.  
  1041. 2.1.14 Command Dyz: PATTERN BREAK
  1042. ===============================
  1043. Skips the rest of the current pattern (see command Byz) and the first
  1044. YZ rows of the next pattern (YZ should not exceed the length of the
  1045. next pattern).
  1046.  
  1047. 2.1.15 Command Eyz: EXTENDED (E-)COMMANDS
  1048. =======================================
  1049. The e-commands are explained below.
  1050.  
  1051. 2.1.16 Command Fyz: SET SPEED/TEMPO
  1052. =================================
  1053. Sets the speed of a pattern (and the ones that follow...) if the
  1054. argument YZ is less than or equal to hex 1F or the tempo if YZ is
  1055. higher than hex 1F.
  1056.  
  1057. The speed is normally the number of picture frames or vertical blanks
  1058. (1/50 second PAL or 1/60 second NTSC) to wait between each row of a
  1059. pattern. The default speed is 06, ie 0.12 seconds (PAL) or 125 beats
  1060. per minute.
  1061.  
  1062. If the tempo is set QuadraComposer will switch from VBL timing (125
  1063. bpm, PAL) to CIA timing. The default tempo is hex 7D (125 bpm,
  1064. again). The tempo rating assumes a default speed setting.
  1065.  
  1066. TECHNOTE: If the tempo is set to anything else than 7D, then the
  1067. level 6 CIA interrupt must be used. If the tempo is set high then the
  1068. replay takes more time each frame (the replay interrupt also will get
  1069. out of phase with the screen refresh, so worst case time consumption
  1070. can get high (or at least unpredictable) even when using lower tempo,
  1071. check the replay routine...).
  1072.  
  1073.  
  1074. 2.1.17 EXTENDED COMMANDS
  1075. ======================
  1076.  
  1077. 2.1.17.1 Command E0z: SET FILTER
  1078. ==============================
  1079. Used to switch the internal audio filter on or off. If Z is "0" the
  1080. filter is switched on and if Z is "1" the filter is switched off.
  1081.  
  1082. NOTE: Some old amiga's don't have this feature.
  1083.  
  1084. 2.1.17.2 Command E1z: FINE PITCHSLIDE, UP
  1085. =======================================
  1086. Slide the pitch up a little bit, Z is simply added to the pitch.
  1087.  
  1088. 2.1.17.3 Command E2z: FINE PITCHSLIDE, DOWN
  1089. =========================================
  1090. As above, but down.
  1091.  
  1092. 2.1.17.4 Command E3z: SET GLISSANDO
  1093. =================================
  1094. Turn glissando on (Z = "1") or off (Z = "0"). Glissando is used with
  1095. portamento. If it is turned on, then the portamento will be done
  1096. halftone by halftone, like "walking" up or down the piano.
  1097.  
  1098. TECHNOTE: This effect can use up a lot of time, check the replay
  1099. routine...
  1100.  
  1101. 2.1.17.5 Command E4z: SET VIBRATO WAVEFORM
  1102. ========================================
  1103. Simply selects the waveform used for vibrato effects. Z=0     Use
  1104. sinewave (default) Z=1     Use ramp down Z=2     Use squarewave
  1105.  
  1106. 2.1.17.6 Command E5z: SET FINETUNE VALUE
  1107. ======================================
  1108. Sets the finetune value for a channel. The finetune can vary from -8
  1109. to 7 (using 2's complement, ie 0 to 7 are represented by the numbers
  1110. 0 to 7, and -8 to -1 are represented by the numbers 8 to F).
  1111.  
  1112. | C 101E5E |     <--| Set the finetune value to -2 |
  1113.  
  1114. 2.1.17.7 Command E6z: PATTERN LOOP
  1115. ================================
  1116. Used for creating loops in patterns. First the first row of the loop
  1117. must be defined, by using Z = 0, and then at the end of the loop, the
  1118. number of "jump backs" are defined with Z > 0. Nested loops (inside
  1119. each other) are not possible.
  1120.  
  1121. | C 303E60 |     <--| Beginning of the loop |
  1122. | ...      |
  1123. |    00E64 |     <--| The loop will be replayed 4 times, then |
  1124.                     | continue                                |
  1125.  
  1126. 2.1.17.8 Command E7z: SET TREMOLO WAVEFORM
  1127. ========================================
  1128. Like command E4z, but sets waveform for tremolo instead.
  1129.  
  1130. 2.1.17.9 Command E8z: NOT USED
  1131. ============================
  1132.  
  1133. 2.1.17.10 Command E9z: RETRIG NOTE
  1134. ================================
  1135. Plays the note every Z VBL's (see effect Fyz). Useful is you want to
  1136. play the pattern slowly, but want say, a hihat playing rapidly.
  1137.  
  1138. 2.1.17.11 Command EAz: FINE VOLUMESLIDE, UP
  1139. =========================================
  1140. Simply adds the argument to the current volume of the channel.
  1141.  
  1142. 2.1.17.12 Command EBz: FINE VOLUMESLIDE, DOWN
  1143. ===========================================
  1144. Simply subtracts the argument from the current volume.
  1145.  
  1146. 2.1.17.13 Command ECz: NOTECUT
  1147. ============================
  1148. Cuts the note after Z VBL's (see effect E9z), ie sets the volume to
  1149. 00.
  1150.  
  1151. 2.1.17.14 Command EDz: NOTE DELAY
  1152. ===============================
  1153. Waits Z VBL's, before playing the note.
  1154.  
  1155. 2.1.17.15 Command EEz: NOT USED
  1156. =============================
  1157.  
  1158. 2.1.17.16 Command EFz: PATTERN DELAY
  1159. ==================================
  1160. Delays the pattern Z VBL's. Useful for creating a short pause in the
  1161. music.
  1162.  
  1163.  
  1164. 2.1.18 EFFECTS THAT DIFFER FROM THE NT-FORMAT
  1165. ===========================================
  1166. Some effects differ slightly from the nt-format. These are effect
  1167. 9yz, and effect Byz. These differences are autimagically converted
  1168. when a module is loaded/saved in NT-format.
  1169.  
  1170.  
  1171. APPENDIX A  IFF EMOD FILE FORMAT
  1172. ================================
  1173. The standard EMOD fileformat is using the standard IFF (not 
  1174. SMUS!) format. It was necessary to create a new fileformat, to be able 
  1175. to include all the new features (compared to the NT-fileformat), like:
  1176.  
  1177.      * 255x128 kb samples.
  1178.  
  1179.      * 256x256 rows named patterns.
  1180.  
  1181.      * 255 positions.
  1182.  
  1183.      * Better internal format for pattern data - 4 bits left per note 
  1184.       for future expansion.
  1185.  
  1186.  
  1187. The patterndata is put in the file row by row, 4 bytes for each 
  1188. note, and 16 bytes for each row:
  1189.  
  1190. SampleNr NoteNr   Empty Effect 
  1191.                         cmd.
  1192. -------- -------- ----  -------------
  1193. 00000000 00000000 0000  0000-00000000        <--- Bits
  1194. -------- -------- ---------- --------  
  1195. Byte 0   Byte 1   Byte 2     Byte 3    
  1196.  
  1197. The notenumber is a number from 0 to 35 which corresponds to a 
  1198. note (C 1 to B 3). To get the period you'll have to use a list. The following 
  1199. are  the IFF chunks of the EMOD fileformat. If you want to add something 
  1200. new to the module like a long comment or a text, please make a new 
  1201. chunk. A properly made program should just ignore the unknown chunks.
  1202.  
  1203.  
  1204. Type      Size Description
  1205. ~~~~~~~~~~~~~~~~~~~~~~~~~~
  1206. char         4    "FORM"
  1207. long         4    Size of file from offset 8
  1208.  
  1209. *********** Infochunk ************
  1210.  
  1211. char      4    "EMOD"                ;Extended Module
  1212. char      4    "EMIC"                ;Extended Module Info Chunk
  1213. long      4    Size of chunk
  1214. word      2    Version of IFF EMIC-chunk
  1215. char      20   Name of song
  1216. char      20   Composer
  1217. byte      1    Tempo
  1218. byte      1    Number of samples
  1219.   byte    1    Sample nr
  1220.   byte    1    Volume
  1221.   word    2    Samplelength in words
  1222.   char    20   Name of sample
  1223.   byte    1    Controlbyte bit 0=loop on/off
  1224.   byte    1    First 4 bits finetune 
  1225.   word    2    Repeat in words        ;Length to loop repeatpoint
  1226.   word    2    Replen in words        ;Length of loop
  1227.   long    4    Offset to the sample from the very beginning of the 
  1228.                file
  1229.  
  1230. byte      1    Pad
  1231. byte      1    Nr of patterns
  1232.   byte    1    Pattern nr
  1233.   byte    1    Length of pattern in rows - 1
  1234.   char    20   Name of pattern
  1235.   long    4    Offset to the pattern from the beginning of the file
  1236.  
  1237. byte      1    Pad
  1238. byte      1    Nr of positions
  1239.   byte    1    Patternnumber
  1240.  
  1241. byte      0 or 1 Extra byte to wordalign if necessary.
  1242.  
  1243.  
  1244. ******** Pattern data chunk **********
  1245.  
  1246. char      4    "PATT"                   ;Patterndata
  1247. long      4    Size of chunk
  1248. byte    16   row 1
  1249. byte 16   row 2
  1250. byte 16   row 3...
  1251.  
  1252.  
  1253. ******** Sample data chunk *********
  1254.  
  1255. char    4    "8SMP"              ;8 - bit SaMPle
  1256. long    4    Size of chunk
  1257. byte    ?    Sampledata
  1258.  
  1259.  
  1260.  
  1261.